package com.coded2.mobileposto.model;

import java.util.List;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.NamedQuery;
import javax.persistence.OneToMany;


/**
 * The persistent class for the fabricante database table.
 * 
 */
@Entity
@NamedQuery(name="Fabricante.findAll", query="SELECT f FROM Fabricante f")
public class Fabricante extends com.coded2.infra.comum.ComumDTO  {
	private static final long serialVersionUID = 1L;

	@Id
	@GeneratedValue(strategy=GenerationType.AUTO)
	@Column(name="id_fabricante")
	private int idFabricante;

	@Column(name="no_fabricante")
	private String noFabricante;

	//bi-directional many-to-one association to Modelo
	@OneToMany(mappedBy="fabricante")
	private List<Modelo> modelos;

	public Fabricante() {
	}

	public int getIdFabricante() {
		return this.idFabricante;
	}

	public void setIdFabricante(int idFabricante) {
		this.idFabricante = idFabricante;
	}

	public String getNoFabricante() {
		return this.noFabricante;
	}

	public void setNoFabricante(String noFabricante) {
		this.noFabricante = noFabricante;
	}

	public List<Modelo> getModelos() {
		return this.modelos;
	}

	public void setModelos(List<Modelo> modelos) {
		this.modelos = modelos;
	}

	public Modelo addModelo(Modelo modelo) {
		getModelos().add(modelo);
		modelo.setFabricante(this);

		return modelo;
	}

	public Modelo removeModelo(Modelo modelo) {
		getModelos().remove(modelo);
		modelo.setFabricante(null);

		return modelo;
	}

	@Override
	public Object getId() {
		return getIdFabricante();
	}

}